package com.ruoyi.project.manage.sixDone.service;

import java.util.List;

import com.ruoyi.project.manage.project.domain.Project;
import com.ruoyi.project.manage.sixDone.domain.ProjectSixDone;

/**
 * 项目六定记录Service接口
 * 
 * @author fangkun
 * @date 2022-03-28
 */
public interface IProjectSixDoneService 
{
    /**
     * 查询项目六定记录
     * 
     * @param projectSixId 项目六定记录主键
     * @return 项目六定记录
     */
    ProjectSixDone selectProjectSixDoneByProjectSixId(Long projectSixId);

    /**
     * 查询项目六定记录列表
     * 
     * @param projectSixDone 项目六定记录
     * @return 项目六定记录集合
     */
    List<ProjectSixDone> selectProjectSixDoneList(ProjectSixDone projectSixDone);

    /**
     * 新增项目六定记录
     * 
     * @param projectSixDone 项目六定记录
     * @return 结果
     */
    int insertProjectSixDone(ProjectSixDone projectSixDone);

    /**
     * 修改项目六定记录
     * 
     * @param projectSixDone 项目六定记录
     * @return 结果
     */
    int updateProjectSixDone(ProjectSixDone projectSixDone);

    /**
     * 上报资金落实记录
     * @param projectId 项目ID
     * @return 结果
     */
    int submit(int projectId);

    /**
     * 撤回资金落实记录
     * @param projectId 项目ID
     * @return 结果
     */
    int withdraw(int projectId);

    /**
     * 拒绝资金落实记录
     *
     * @param project 项目信息
     * @return 项目信息
     */
    int reject(Project project);

    /**
     * 资金落实记录入库
     * @param projectId 项目ID
     * @return 结果
     */
    int agree(int projectId);

    /**
     * 批量删除项目六定记录
     * 
     * @param projectSixIds 需要删除的项目六定记录主键集合
     * @return 结果
     */
    int deleteProjectSixDoneByProjectSixIds(String projectSixIds);

    /**
     * 删除项目六定记录信息
     * 
     * @param projectSixId 项目六定记录主键
     * @return 结果
     */
    int deleteProjectSixDoneByProjectSixId(Long projectSixId);
}
